package com.xinke.module.system.service.oauth2;

import javax.validation.*;
import com.xinke.module.system.model.vo.oauth2.*;
import com.xinke.module.system.model.entity.oauth2.OAuth2ApproveDO;
import com.xinke.component.common.pojo.PageResult;

/**
 * OAuth2 批准 Service 接口
 *
 * @author yzx
 */
public interface OAuth2ApproveService {

    /**
     * 创建OAuth2 批准
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createOAuth2Approve(@Valid OAuth2ApproveSaveReqVO createReqVO);

    /**
     * 更新OAuth2 批准
     *
     * @param updateReqVO 更新信息
     */
    void updateOAuth2Approve(@Valid OAuth2ApproveSaveReqVO updateReqVO);

    /**
     * 删除OAuth2 批准
     *
     * @param approveId 编号
     */
    void deleteOAuth2Approve(Long approveId);

    /**
     * 获得OAuth2 批准
     *
     * @param approveId 编号
     * @return OAuth2 批准
     */
    OAuth2ApproveDO getOAuth2Approve(Long approveId);

    /**
     * 获得OAuth2 批准分页
     *
     * @param pageReqVO 分页查询
     * @return OAuth2 批准分页
     */
    PageResult<OAuth2ApproveDO> getOAuth2ApprovePage(OAuth2ApprovePageReqVO pageReqVO);

}